Code Compaction Using Post-Increment/Decrement Addressing Modes
نویسندگان
چکیده
During computation, locality of reference is often observed, and can be exploited to achieve performance increases in several ways. This locality is an artifact of the computational abstractions and architectures that we use, such as iterating over an arrays or encapsulating tasks into distinct functions with local state. With this in mind, some architectures have been created with features designed specifically to exploit locality. In this paper, we extend the work of [1] to benefit as much as possible from one such particular feature: post-increment and post-decrement addressing modes. With careful placement of stack variables in memory, we can minimize the amount of necessary address arithmetic. This problem is NP-complete, and we present a 2-approximation algorithm for the case of a single address register, along with experimental results.
منابع مشابه
Improving Offset Assignment on Embedded Processors Using Transformations
Embedded systems consisting of the application programROM,RAM, the embedded processor core and any custom hardware on a single wafer are becoming increasingly common in areas such as signal processing. In this paper, we address new code optimization techniques for embedded fixed point DSP processors which have limited on-chip program ROM and include indirect addressing modes using post incremen...
متن کاملImproving Offset Assignment for Embedded Processors
Embedded systems consisting of the application program ROM, RAM, the embedded processor core, and any custom hardware on a single wafer are becoming increasingly common in application domains such as signal processing. Given the rapid deployment of these systems, programming on such systems has shifted from assembly language to high-level languages such as C, C++, and Java. The processors used ...
متن کاملAddress Register Assignment for Reducing Code Size
In DSP processors, minimizing the amount of address calculations is critical for reducing code size and improving performance since studies of programs have shown that instructions that manipulate address registers constitute a significant portion of the overall instruction count (up to 55%). This work presents a compiler-based optimization strategy to reduce the code size in embedded systems. ...
متن کاملOptimizing Stack Frame Accesses for Processors with Restricted Addressing Modes
Random access to local variables stored in a stack frame is more difficult for compiled functions when the target processor lacks register-plus-offset addressing. One alternative technique employs a roving pointer which the program increments or decrements as needed between stack accesses. Processors which support auto-increment and auto-decrement addressing modes are often capable of performin...
متن کاملRegister Allocation for Indirect Addressing in LoopsGuido
Indirect addressing is by far the most used addressing mode in programs running in embedded CISC architectures. The reason is that it enables fast address computation combined with short instructions, resulting in faster/smaller programs. This paper proposes a solution to the problem of allocating address registers to array references within loops, when using indirect addressing combined with a...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2005